﻿using FlyRemote.Base;

namespace FuckVmp.VMP
{

    public enum EntryType
    {
        None = 0,
        VmEntry,
        VmIat
    }
    public abstract class VMItem
    {

        public ReadGroup Group { get; internal set; }

        public ulong Entry { get; internal set; }

        public int Bitness { get; internal set; } = 64;


        public override int GetHashCode()
        {
            return Entry.GetHashCode();
        }

    }

    public class VMUnknow : VMItem
    {

        public override string ToString()
        {
            return $"未识别 .. {Entry:X} ";
        }
    }


    public class VMIat : VMItem
    {


        public ulong JmpAddr { get; internal set; }

        public string Note { get; internal set; }


        public override string ToString()
        {
            return $"{Entry:X} => {JmpAddr:X} {Note}";
        }
    }

}
